
#ifndef __SSHD_CALLBACK_INTERFACE
#define __SSHD_CALLBACK_INTERFACE 1
#include <libssh/libssh.h>
#include <config.hpp>
#include <sys/stat.h>
// 提供默认的ssh 实现

class CallbackInterface {
public:
    virtual int event_auth_password_function(ssh_session session, const char *user, const char *password, void *userdata);
    virtual ssh_channel event_channel_open_request_session_function(ssh_session session, void *userdata);
    virtual int event_auth_pubkey(ssh_session session, const char *user, struct ssh_key_struct *pubkey, char signature_state, void *userdata);
    // 客户端回调
    virtual int event_channel_data_callback(ssh_session session, ssh_channel channel, void *data, uint32_t len, int is_stderr, void *userdata);

    virtual int event_channel_exec_request_callback(ssh_session session, ssh_channel channel, const char *command, void *userdata);

    virtual int event_channel_pty_request_callback(ssh_session session, ssh_channel channel, const char *term, int width, 
                    int height, int pxwidth, int pwheight, void *userdata);
    virtual int event_channel_pty_window_change_callback(ssh_session session, ssh_channel channel, int width, int height, int pxwidth, 
    int pwheight, void *userdata);
    virtual int event_channel_subsystem_request_callback(ssh_session session,ssh_channel channel,const char *subsystem,void *userdata);
    virtual int event_channel_shell_request_callback(ssh_session session, ssh_channel channel, void *userdata);
};
#endif